package main

import (
	"fmt"
	"runtime"
)

func main() {
	// runtime.NumCPU() 查询 CPU 数量
	fmt.Println("main:", runtime.NumCPU())
	// runtime.GOMAXPROCS() 函数进行设置
	fmt.Println("main:", runtime.GOMAXPROCS(3))
	// runtime.GOMAXPROCS(0) 0 表示“只查询，不修改”
	fmt.Println("main:", runtime.GOMAXPROCS(0))
}

// 在 Go语言程序运行时（runtime）实现了一个小型的任务调度器。
// 这套调度器的工作原理类似于操作系统调度线程，Go 程序调度器可以高效地将 CPU 资源分配给每一个任务。
// 传统逻辑中，开发者需要维护线程池中线程与 CPU 核心数量的对应关系
// Go 地中也可以通过 runtime.GOMAXPROCS() 函数做到，格式为：runtime.GOMAXPROCS(逻辑CPU数量)
